package com.intelligent.controller;

import com.intelligent.pojo.TUser;
import com.intelligent.service.TUserService;
import com.intelligent.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * 用户控制器
 */
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private TUserService userService;

    /**
     * 获取所有用户列表
     * @return 用户列表
     */
    @GetMapping("/list")
    public Result<List<TUser>> getUserList() {
        try {
            List<TUser> users = userService.list();
            return Result.success(users);
        } catch (Exception e) {
            return Result.error("获取用户列表失败：" + e.getMessage());
        }
    }

    /**
     * 获取用户列表（用于下拉选择）
     * @return 用户列表
     */
    @GetMapping("/listForDropdown")
    public Result<List<Map<String, Object>>> getUserListForDropdown() {
        try {
            List<TUser> users = userService.list();
            
            // 直接返回用户列表，不按部门分组
            List<Map<String, Object>> result = users.stream()
                .filter(user -> user.getStatus() == 1) // 只获取启用状态的用户
                .map(user -> {
                    Map<String, Object> userMap = new java.util.HashMap<>();
                    userMap.put("value", user.getUserId());
                    userMap.put("label", user.getRealName() != null ? user.getRealName() : user.getUsername());
                    return userMap;
                })
                .collect(Collectors.toList());
            
            return Result.success(result);
        } catch (Exception e) {
            return Result.error("获取用户列表失败：" + e.getMessage());
        }
    }

}
